from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy as by

def init_driver():
    desired_caps = {
        'platformName': 'Android',
        # 'platformVersion': '7.0',       # 安卓版本号可以不写
        'deviceName': 'b0e6ca3e',  # 设备名，或者设备的ip地址
        'appPackage': 'com.tencent.mm',  # app的包名
        'appActivity': '.ui.LauncherUI',  # 启动名
        # 'automationName': 'Uiautomator2', # 设置测试引擎，默认是appium
        'unicodeKeyboard': True,  # 可以输入中文
        'resetKeyboard': True,
        'noReset': True,  # 设置为非初始启动（跳过新手引导）
        # 在电脑端的chrome上连接微信公众号
        # 'chromeOptions': {'androidProcess': 'com.tencent.mm:tools'}
    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    return driver


def test_api():
    driver = init_driver()

    # appium 定位
    driver.get_screenshot_as_png()

    # uiautomator定位  参考悠悠博客
    driver.find_element_by_android_uiautomator('')
    driver.find_elements_by_android_uiautomator('')
    # new UiSelector().text("text文本")
    # new UiSelector().textContains("包含text文本")
    # new UiSelector().textStartsWith("以text文本开头")
    # new UiSelector().textMatches("正则表达式")
    # new UiSelector().resourceId("id")
    # new UiSelector().className("className")
    # new UiSelector().description("contenet-des属性")
    # new UiSelector(). 前面的这一部分貌似不用加也无所谓

    # 组合定位
    id_text = 'resourceId("id").text("text")'
    parent = 'resourceId("id").childSelector(text("text"))'  # 通过父元素定位子元素
    parent = 'resourceId("id").fromParent(text("text"))'  # 通过兄弟元素定位

    driver.swipe('')
    driver.get_window_size()
    driver.implicitly_wait('5')
    driver.find_element_by_name()
    driver.current_context()



